home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 1998 November / IRIX 6.5.2 Base Documentation November 1998.img / usr / share / catman / p_man / cat3 / Xm / XmFileSelectionBox.z / XmFileSelectionBox
Text File  |  1998-10-30  |  94KB  |  1,321 lines

  1.  
  2.  
  3.  
  4.      XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX))))    UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV    XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX))))
  5.  
  6.  
  7.  
  8.      NNNNAAAAMMMMEEEE
  9.           XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx - The FileSelectionBox widget class
  10.  
  11.      SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.           #include <Xm/FileSB.h>
  13.  
  14.      VVVVEEEERRRRSSSSIIIIOOOONNNN
  15.           This page documents Motif 2.1.
  16.  
  17.      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  18.           FileSelectionBox traverses through directories, views the
  19.           files and subdirectories in them, and then selects files.
  20.  
  21.           A FileSelectionBox has five main areas:
  22.  
  23.              +o  A text input field for displaying and editing a
  24.                 directory mask used to select the files to be
  25.                 displayed
  26.  
  27.              +o  An optional text input field for displaying and
  28.                 editing a filter mask used to select the files to be
  29.                 displayed.
  30.  
  31.              +o  A scrollable list of filenames
  32.  
  33.              +o  A scrollable list of subdirectories
  34.  
  35.              +o  A text input field for displaying and editing a
  36.                 filename
  37.  
  38.              +o  A group of PushButtons, labeled _O_K, FFFFiiiilllltttteeeerrrr, CCCCaaaannnncccceeeellll,
  39.                 and HHHHeeeellllpppp.  The layout direction of the buttons depends
  40.                 on the XXXXmmmmNNNNllllaaaayyyyoooouuuuttttDDDDiiiirrrreeeeccccttttiiiioooonnnn resource.
  41.  
  42.           ####Additional children may be added to the FileSelectionBox
  43.           after creation.  FileSelectionBox inherits the layout
  44.           functionality provided by SelectionBox for any additional
  45.           children.  To remove the list of filenames, the list of
  46.           subdirectories, or both from the FileSelectionBox after
  47.           creation, unmanage the appropriate widgets and their labels.
  48.           The list and label widgets are obtained through a call to
  49.           the XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxxGGGGeeeettttCCCChhhhiiiilllldddd function.  To remove either
  50.           the directory list or the file list, unmanage the parent of
  51.           the appropriate list widget and unmanage the corresponding
  52.           label.
  53.  
  54.           The user can specify resources in a resource file for the
  55.           automatically created widgets and gadgets of
  56.           FileSelectionBox. The following list identifies the names of
  57.           these widgets (or gadgets) and the associated
  58.           FileSelectionBox areas:
  59.  
  60.  
  61.  
  62.  
  63.      Page 1                                         (printed 10/24/98)
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.      XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX))))    UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV    XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX))))
  71.  
  72.  
  73.  
  74.           FilterLabel
  75.                     FFFFiiiilllltttteeeerrrrTTTTeeeexxxxtttt
  76.  
  77.           Filter Text
  78.                     TTTTeeeexxxxttttFFFFiiiieeeelllldddd
  79.  
  80.           Directory List
  81.                     DDDDiiiirrrrLLLLiiiisssstttt
  82.  
  83.           Directory List Label
  84.                     DDDDiiiirrrr
  85.  
  86.           DirL      LLLLaaaabbbbeeeellll
  87.  
  88.           DirText   TTTTeeeexxxxttttFFFFiiiieeeelllldddd
  89.  
  90.           The directory mask is a string specifying the base directory
  91.           to be examined and a search pattern.  Ordinarily, the
  92.           directory list displays the subdirectories of the base
  93.           directory, as well as the base directory itself and its
  94.           parent directory.  The file list ordinarily displays all
  95.           files and/or subdirectories in the base directory that match
  96.           the search pattern.
  97.  
  98.           Optionally, the search pattern mask and the base directory
  99.           can be displayed in two separate text fields. This option is
  100.           controlled by the XXXXmmmmNNNNppppaaaatttthhhhMMMMooooddddeeee resource. Using this alternate
  101.           display does not change the meaning of resources that
  102.           control the content of these fields: XXXXmmmmNNNNddddiiiirrrreeeeccccttttoooorrrryyyy,
  103.           XXXXmmmmNNNNddddiiiirrrrMMMMaaaasssskkkk, XXXXmmmmNNNNppppaaaatttttttteeeerrrrnnnn.
  104.  
  105.           A procedure specified by the XXXXmmmmNNNNqqqquuuuaaaalllliiiiffffyyyySSSSeeeeaaaarrrrcccchhhhDDDDaaaattttaaaaPPPPrrrroooocccc
  106.           resource extracts the base directory and search pattern from
  107.           the directory mask.  If the directory specification is
  108.           empty, the current working directory is used.  If the search
  109.           pattern is empty, a pattern that matches all files is used.
  110.  
  111.           An application can supply its own XXXXmmmmNNNNqqqquuuuaaaalllliiiiffffyyyySSSSeeeeaaaarrrrcccchhhhDDDDaaaattttaaaaPPPPrrrroooocccc
  112.           as well as its own procedures to search for subdirectories
  113.           and files.  The default XXXXmmmmNNNNqqqquuuuaaaalllliiiiffffyyyySSSSeeeeaaaarrrrcccchhhhDDDDaaaattttaaaaPPPPrrrroooocccc works as
  114.           follows:  The directory mask is a pathname that can contain
  115.           zero or more _w_i_l_d_c_a_r_d characters in its directory portion,
  116.           its file portion, or both.  The directory components of the
  117.           directory mask - up to, but not including, the first
  118.           component with a wildcard character - specify the directory
  119.           to be searched, relative to the current working directory.
  120.           The remaining components specify the search pattern.  If the
  121.           directory mask is empty or if its first component contains a
  122.           wildcard character, the current working directory is
  123.           searched.  If no component of the directory mask contains a
  124.           wildcard character, the entire directory mask is the
  125.           directory specification, and all files in that directory are
  126.  
  127.  
  128.  
  129.      Page 2                                         (printed 10/24/98)
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.      XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX))))    UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV    XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX))))
  137.  
  138.  
  139.  
  140.           matched.
  141.  
  142.           The user can select a new directory to examine by scrolling
  143.           through the list of directories and selecting the desired
  144.           directory or by editing the directory mask.  Selecting a new
  145.           directory from the directory list does not change the search
  146.           pattern.  A user can select a new search pattern by editing
  147.           the directory mask or, when the FileSelectionBox has the
  148.           optional XXXXmmmmNNNNppppaaaatttthhhhMMMMooooddddeeee XXXXmmmmPPPPAAAATTTTHHHH____MMMMOOOODDDDEEEE____RRRREEEELLLLAAAATTTTIIIIVVVVEEEE display, the
  149.           filter text field.  Double clicking or pressing KKKKAAAAccccttttiiiivvvvaaaatttteeee on
  150.           a directory in the directory list initiates a search for
  151.           files and subdirectories in the new directory, using the
  152.           current search pattern.
  153.  
  154.           The user can select a file by scrolling through the list of
  155.           filenames and selecting the desired file or by entering the
  156.           filename directly into the text edit area.  Selecting a file
  157.           from the list causes that filename to appear in the file
  158.           selection text edit area.
  159.  
  160.           The user may select a new file as many times as desired.
  161.           The application is not notified until the user takes one of
  162.           the following actions:
  163.  
  164.              +o  Selects the _O_K PushButton
  165.  
  166.              +o  Presses KKKKAAAAccccttttiiiivvvvaaaatttteeee while the selection text edit area
  167.                 has the keyboard focus
  168.  
  169.              +o  Double clicks or presses KKKKAAAAccccttttiiiivvvvaaaatttteeee on an item in the
  170.                 file list
  171.  
  172.           FileSelectionBox initiates a directory and file search when
  173.           any of the following occurs:
  174.  
  175.              +o  The FileSelectionBox is initialized
  176.  
  177.              +o  The function XXXXttttSSSSeeeettttVVVVaaaalllluuuueeeessss is used to change XXXXmmmmNNNNddddiiiirrrrMMMMaaaasssskkkk,
  178.                 XXXXmmmmNNNNddddiiiirrrreeeeccccttttoooorrrryyyy, XXXXmmmmNNNNppppaaaatttttttteeeerrrrnnnn, or XXXXmmmmNNNNffffiiiilllleeeeTTTTyyyyppppeeeeMMMMaaaasssskkkk
  179.  
  180.              +o  The user activates the FFFFiiiilllltttteeeerrrr PushButton
  181.  
  182.              +o  The user double clicks or presses KKKKAAAAccccttttiiiivvvvaaaatttteeee on an item
  183.                 in the directory list
  184.  
  185.              +o  The application calls XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnDDDDooooSSSSeeeeaaaarrrrcccchhhh
  186.  
  187.              +o  The user presses KKKKAAAAccccttttiiiivvvvaaaatttteeee while the directory mask
  188.                 text edit area has the keyboard focus
  189.  
  190.           When a file search is initiated, the FileSelectionBox takes
  191.           the following actions:
  192.  
  193.  
  194.  
  195.      Page 3                                         (printed 10/24/98)
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.      XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX))))    UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV    XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX))))
  203.  
  204.  
  205.  
  206.              +o  Constructs an XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxxCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt
  207.                 structure with values appropriate for the action that
  208.                 initiated the search
  209.  
  210.              +o  Calls the XXXXmmmmNNNNqqqquuuuaaaalllliiiiffffyyyySSSSeeeeaaaarrrrcccchhhhDDDDaaaattttaaaaPPPPrrrroooocccc with the callback
  211.                 structure as the data input argument
  212.  
  213.              +o  Sets XXXXmmmmNNNNddddiiiirrrreeeeccccttttoooorrrryyyyVVVVaaaalllliiiidddd and XXXXmmmmNNNNlllliiiissssttttUUUUppppddddaaaatttteeeedddd to False
  214.  
  215.              +o  Calls the XXXXmmmmNNNNddddiiiirrrrSSSSeeeeaaaarrrrcccchhhhPPPPrrrroooocccc with the qualified data
  216.                 returned by the XXXXmmmmNNNNqqqquuuuaaaalllliiiiffffyyyySSSSeeeeaaaarrrrcccchhhhDDDDaaaattttaaaaPPPPrrrroooocccc
  217.  
  218.           If XXXXmmmmNNNNddddiiiirrrreeeeccccttttoooorrrryyyyVVVVaaaalllliiiidddd is True, the FileSelectionBox takes the
  219.           following additional actions:
  220.  
  221.              +o  Sets XXXXmmmmNNNNlllliiiissssttttUUUUppppddddaaaatttteeeedddd to False
  222.  
  223.              +o  Calls the XXXXmmmmNNNNffffiiiilllleeeeSSSSeeeeaaaarrrrcccchhhhPPPPrrrroooocccc with the qualified data
  224.                 returned by the XXXXmmmmNNNNqqqquuuuaaaalllliiiiffffyyyySSSSeeeeaaaarrrrcccchhhhDDDDaaaattttaaaaPPPPrrrroooocccc (and possibly
  225.                 modified by the XXXXmmmmNNNNddddiiiirrrrSSSSeeeeaaaarrrrcccchhhhPPPPrrrroooocccc)
  226.  
  227.              +o  If XXXXmmmmNNNNlllliiiissssttttUUUUppppddddaaaatttteeeedddd is True and the file list is empty,
  228.                 displays the XXXXmmmmNNNNnnnnooooMMMMaaaattttcccchhhhSSSSttttrrrriiiinnnngggg in the file list and
  229.                 clears the selection text and XXXXmmmmNNNNddddiiiirrrrSSSSppppeeeecccc
  230.  
  231.              +o  If XXXXmmmmNNNNlllliiiissssttttUUUUppppddddaaaatttteeeedddd is True and the file list is not
  232.                 empty, sets the selection text and XXXXmmmmNNNNddddiiiirrrrSSSSppppeeeecccc to the
  233.                 qualified _d_i_r returned by the XXXXmmmmNNNNqqqquuuuaaaalllliiiiffffyyyySSSSeeeeaaaarrrrcccchhhhDDDDaaaattttaaaaPPPPrrrroooocccc
  234.                 (and possibly modified by the XXXXmmmmNNNNddddiiiirrrrSSSSeeeeaaaarrrrcccchhhhPPPPrrrroooocccc)
  235.  
  236.              +o  Sets the directory mask text and XXXXmmmmNNNNddddiiiirrrrMMMMaaaasssskkkk to the
  237.                 qualified _m_a_s_k returned by the
  238.                 XXXXmmmmNNNNqqqquuuuaaaalllliiiiffffyyyySSSSeeeeaaaarrrrcccchhhhDDDDaaaattttaaaaPPPPrrrroooocccc (and possibly modified by the
  239.                 XXXXmmmmNNNNddddiiiirrrrSSSSeeeeaaaarrrrcccchhhhPPPPrrrroooocccc)
  240.  
  241.              +o  Sets XXXXmmmmNNNNddddiiiirrrreeeeccccttttoooorrrryyyy to the qualified _d_i_r returned by the
  242.                 XXXXmmmmNNNNqqqquuuuaaaalllliiiiffffyyyySSSSeeeeaaaarrrrcccchhhhDDDDaaaattttaaaaPPPPrrrroooocccc (and possibly modified by the
  243.                 XXXXmmmmNNNNddddiiiirrrrSSSSeeeeaaaarrrrcccchhhhPPPPrrrroooocccc)
  244.  
  245.              +o  Sets XXXXmmmmNNNNppppaaaatttttttteeeerrrrnnnn to the qualified _p_a_t_t_e_r_n returned by
  246.                 the XXXXmmmmNNNNqqqquuuuaaaalllliiiiffffyyyySSSSeeeeaaaarrrrcccchhhhDDDDaaaattttaaaaPPPPrrrroooocccc (and possibly modified by
  247.                 the XXXXmmmmNNNNddddiiiirrrrSSSSeeeeaaaarrrrcccchhhhPPPPrrrroooocccc)
  248.  
  249.           FileSelectionBox uses the _X_m_Q_T_a_c_t_i_v_a_t_a_b_l_e trait.
  250.  
  251.         DDDDaaaattttaaaa TTTTrrrraaaannnnssssffffeeeerrrr BBBBeeeehhhhaaaavvvviiiioooorrrr
  252.           Child widgets of a FileSelectionBox support the data
  253.           transfer operations and targets associated with their widget
  254.           classes.
  255.  
  256.           In addition, if the source of a data transfer is the
  257.           directory list and if XXXXmmmmNNNNddddiiiirrrrSSSSeeeeaaaarrrrcccchhhhPPPPrrrroooocccc has its default
  258.  
  259.  
  260.  
  261.      Page 4                                         (printed 10/24/98)
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.      XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX))))    UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV    XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX))))
  269.  
  270.  
  271.  
  272.           value, the directory list supports the _F_I_L_E and _F_I_L_E__N_A_M_E
  273.           targets.
  274.  
  275.           If the source of a data transfer is the file list and if
  276.           XXXXmmmmNNNNffffiiiilllleeeeSSSSeeeeaaaarrrrcccchhhhPPPPrrrroooocccc has its default value, the file list
  277.           supports the _F_I_L_E and _F_I_L_E__N_A_M_E targets.
  278.  
  279.           In either case, FileSelectionBox adds an
  280.           XXXXmmmmNNNNccccoooonnnnvvvveeeerrrrttttCCCCaaaallllllllbbbbaaaacccckkkkprocedure to the appropriate list.  This
  281.           procedure adds _F_I_L_E and _F_I_L_E__N_A_M_E to the _T_A_R_G_E_T_Sreturned by
  282.           the list.  It treats requests for conversion of a selection
  283.           to _F_I_L_E and _F_I_L_E__N_A_M_E exactly like requests for conversion
  284.           to _T_E_X_T.
  285.  
  286.           If an application changes XXXXmmmmNNNNddddiiiirrrrSSSSeeeeaaaarrrrcccchhhhPPPPrrrroooocccc or
  287.           XXXXmmmmNNNNffffiiiilllleeeeSSSSeeeeaaaarrrrcccchhhhPPPPrrrroooocccc and wants to support the _F_I_L_E and
  288.           _F_I_L_E__N_A_M_E targets on the corresponding list, it must provide
  289.           support itself by adding a procedure to the list's
  290.           XXXXmmmmNNNNccccoooonnnnvvvveeeerrrrttttCCCCaaaallllllllbbbbaaaacccckkkk list.
  291.  
  292.         DDDDeeeesssscccceeeennnnddddaaaannnnttttssss
  293.           FileSelectionBox automatically creates the descendants shown
  294.           in the following table.  An application can use
  295.           XXXXttttNNNNaaaammmmeeeeTTTTooooWWWWiiiiddddggggeeeetttt to gain access to the named descendant. In
  296.           addition, a user or an application can use the named
  297.           descendant when specifying resource values.
  298.           NNNNaaaammmmeeeedddd DDDDeeeesssscccceeeennnnddddaaaannnntttt   CCCCllllaaaassssssss                   IIIIddddeeeennnnttttiiiittttyyyy
  299.           __________________________________________________________________________________________________________________________________________________________
  300.           AAAAppppppppllllyyyy              XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt      Apply button
  301.           CCCCaaaannnncccceeeellll             XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt      Cancel button
  302.           DDDDiiiirrrr                XXXXmmmmLLLLaaaabbbbeeeellllGGGGaaaaddddggggeeeetttt           title above list of directories
  303.           DDDDiiiirrrrLLLLiiiisssstttt            XXXXmmmmLLLLiiiisssstttt                  list of directories
  304.           DDDDiiiirrrrLLLLiiiissssttttSSSSWWWW          XXXXmmmmSSSSccccrrrroooolllllllleeeeddddWWWWiiiinnnnddddoooowwww        ScrolledWindow parent of DDDDiiiirrrrLLLLiiiisssstttt
  305.           FFFFiiiilllltttteeeerrrrLLLLaaaabbbbeeeellll        XXXXmmmmLLLLaaaabbbbeeeellllGGGGaaaaddddggggeeeetttt           title above filter box
  306.           FFFFiiiilllltttteeeerrrrTTTTeeeexxxxtttt         XXXXmmmmTTTTeeeexxxxtttt or XXXXmmmmTTTTeeeexxxxttttFFFFiiiieeeelllldddd   text within filter box
  307.           HHHHeeeellllpppp               XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt      Help button
  308.           IIIItttteeeemmmmssss              XXXXmmmmLLLLaaaabbbbeeeellllGGGGaaaaddddggggeeeetttt           title above list of filenames
  309.           IIIItttteeeemmmmssssLLLLiiiisssstttt          XXXXmmmmLLLLiiiisssstttt                  list of filenames
  310.           IIIItttteeeemmmmssssLLLLiiiissssttttSSSSWWWW        XXXXmmmmSSSSccccrrrroooolllllllleeeeddddWWWWiiiinnnnddddoooowwww        ScrolledWindow parent of IIIItttteeeemmmmssssLLLLiiiisssstttt
  311.           _O_K                 XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt      OK button
  312.           SSSSeeeelllleeeeccccttttiiiioooonnnn          XXXXmmmmLLLLaaaabbbbeeeellllGGGGaaaaddddggggeeeetttt           title above selection box
  313.           SSSSeeeeppppaaaarrrraaaattttoooorrrr          XXXXmmmmSSSSeeeeppppaaaarrrraaaattttoooorrrrGGGGaaaaddddggggeeeetttt       optional dividing line
  314.           TTTTeeeexxxxtttt               XXXXmmmmTTTTeeeexxxxtttt or XXXXmmmmTTTTeeeexxxxttttFFFFiiiieeeelllldddd   text within selection box
  315.  
  316.         CCCCllllaaaasssssssseeeessss
  317.           FileSelectionBox inherits behavior, resources, and traits
  318.           from CCCCoooorrrreeee, CCCCoooommmmppppoooossssiiiitttteeee, CCCCoooonnnnssssttttrrrraaaaiiiinnnntttt, XXXXmmmmMMMMaaaannnnaaaaggggeeeerrrr,
  319.           XXXXmmmmBBBBuuuulllllllleeeettttiiiinnnnBBBBooooaaaarrrrdddd, and XXXXmmmmSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx.
  320.  
  321.           The class pointer is _x_m_F_i_l_e_S_e_l_e_c_t_i_o_n_B_o_x_W_i_d_g_e_t_C_l_a_s_s.
  322.  
  323.           The class name is XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx.
  324.  
  325.  
  326.  
  327.      Page 5                                         (printed 10/24/98)
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.      XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX))))    UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV    XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX))))
  335.  
  336.  
  337.  
  338.         NNNNeeeewwww RRRReeeessssoooouuuurrrrcccceeeessss
  339.           The following table defines a set of widget resources used
  340.           by the programmer to specify data. The programmer can also
  341.           set the resource values for the inherited classes to set
  342.           attributes for this widget. To reference a resource by name
  343.           or by class in a ....XXXXddddeeeeffffaaaauuuullllttttssss file, remove the XXXXmmmmNNNN or XXXXmmmmCCCC
  344.           prefix and use the remaining letters. To specify one of the
  345.           defined values for a resource in a ....XXXXddddeeeeffffaaaauuuullllttttssss file, remove
  346.           the XXXXmmmm prefix and use the remaining letters (in either
  347.           lowercase or uppercase, but include any underscores between
  348.           words).  The codes in the access column indicate if the
  349.           given resource can be set at creation time (C), set by using
  350.           XXXXttttSSSSeeeettttVVVVaaaalllluuuueeeessss (S), retrieved by using XXXXttttGGGGeeeettttVVVVaaaalllluuuueeeessss (G), or is
  351.           not applicable (N/A).
  352.  
  353.                                           XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  354.           NNNNaaaammmmeeee                       CCCCllllaaaassssssss                      TTTTyyyyppppeeee            DDDDeeeeffffaaaauuuulllltttt             AAAAcccccccceeeessssssss
  355.           XmNdirectory               XmCDirectory               XmString        dynamic             CSG
  356.           XmNdirectoryValid          XmCDirectoryValid          Boolean         dynamic             SG
  357.           XmNdirListItems            XmCDirListItems            XmStringTable   dynamic             SG
  358.           XmNdirListItemCount        XmCDirListItemCount        int             dynamic             SG
  359.           XmNdirListLabelString      XmCDirListLabelString      XmString        dynamic             CSG
  360.           XmNdirMask                 XmCDirMask                 XmString        dynamic             CSG
  361.           XmNdirSearchProc           XmCDirSearchProc           XmSearchProc    default procedure   CSG
  362.           XmNdirSpec                 XmCDirSpec                 XmString        dynamic             CSG
  363.           XmNdirTextLabelString      XmCDirTextLabelString      XmString        NULL                C
  364.           XmNfileFilterStyle         XmCFileFilterStyle         XtEnum          XmFILTER_NONE       C
  365.           XmNfileListItems           XmCItems                   XmStringTable   dynamic             SG
  366.           XmNfileListItemCount       XmCItemCount               int             dynamic             SG
  367.           XmNfileListLabelString     XmCFileListLabelString     XmString        dynamic             CSG
  368.           XmNfileSearchProc          XmCFileSearchProc          XmSearchProc    default procedure   CSG
  369.           XmNfileTypeMask            XmCFileTypeMask            unsigned char   XmFILE_REGULAR      CSG
  370.           XmNfilterLabelString       XmCFilterLabelString       XmString        dynamic             CSG
  371.           XmNlistUpdated             XmCListUpdated             Boolean         dynamic             SG
  372.           XmNnoMatchString           XmCNoMatchString           XmString        " [    ] "          CSG
  373.           XmNpathMode                XmCPathMode                XtEnum          XmPATH_MODE_FULL    C
  374.           XmNpattern                 XmCPattern                 XmString        dynamic             CSG
  375.           XmNqualifySearchDataProc   XmCQualifySearchDataProc   XmQualifyProc   default procedure   CSG
  376.  
  377.           XXXXmmmmNNNNddddiiiirrrreeeeccccttttoooorrrryyyy
  378.                     Specifies the base directory used in combination
  379.                     with XXXXmmmmNNNNppppaaaatttttttteeeerrrrnnnnin determining the files and
  380.                     directories to be displayed.  The default value is
  381.                     determined by the XXXXmmmmNNNNqqqquuuuaaaalllliiiiffffyyyySSSSeeeeaaaarrrrcccchhhhDDDDaaaattttaaaaPPPPrrrrooooccccand
  382.                     depends on the initial values of XXXXmmmmNNNNddddiiiirrrrMMMMaaaasssskkkk,
  383.                     XXXXmmmmNNNNddddiiiirrrreeeeccccttttoooorrrryyyy, and XXXXmmmmNNNNppppaaaatttttttteeeerrrrnnnn.  If the default is
  384.                     NULL or empty, the current working directory is
  385.                     used.
  386.  
  387.           XXXXmmmmNNNNddddiiiirrrreeeeccccttttoooorrrryyyyVVVVaaaalllliiiidddd
  388.                     Specifies an attribute that is set only by the
  389.                     directory search procedure.  The value is set to
  390.  
  391.  
  392.  
  393.      Page 6                                         (printed 10/24/98)
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.      XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX))))    UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV    XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX))))
  401.  
  402.  
  403.  
  404.                     True if the directory passed to the directory
  405.                     search procedure can actually be searched.  If
  406.                     this value is False the file search procedure is
  407.                     not called, and XXXXmmmmNNNNddddiiiirrrrMMMMaaaasssskkkk, XXXXmmmmNNNNddddiiiirrrreeeeccccttttoooorrrryyyy, and
  408.                     XXXXmmmmNNNNppppaaaatttttttteeeerrrrnnnn are not changed.
  409.  
  410.           XXXXmmmmNNNNddddiiiirrrrLLLLiiiissssttttIIIItttteeeemmmmssss
  411.                     Specifies the items in the directory list.
  412.                     XXXXttttGGGGeeeettttVVVVaaaalllluuuueeeessss for this resource returns the list
  413.                     items themselves, not a copy of the list items.
  414.                     The application must not free the returned items.
  415.  
  416.           XXXXmmmmNNNNddddiiiirrrrLLLLiiiissssttttIIIItttteeeemmmmCCCCoooouuuunnnntttt
  417.                     Specifies the number of items in the directory
  418.                     list.  The value must not be negative.
  419.  
  420.           XXXXmmmmNNNNddddiiiirrrrLLLLiiiissssttttLLLLaaaabbbbeeeellllSSSSttttrrrriiiinnnngggg
  421.                     Specifies the label string of the directory list.
  422.                     The default for this resource depends on the
  423.                     locale.  In the C locale the default is
  424.                     DDDDiiiirrrreeeeccccttttoooorrrriiiieeeessss.
  425.  
  426.                     Now that some default localized label strings are
  427.                     provided through message catalogs for the children
  428.                     of composite widgets, the llllaaaabbbbeeeellllSSSSttttrrrriiiinnnngggg resources
  429.                     cannot be set on the child through default
  430.                     resource files.  Instead, the resource provided at
  431.                     the parent level must be used.
  432.  
  433.           XXXXmmmmNNNNddddiiiirrrrMMMMaaaasssskkkk
  434.                     Specifies the directory mask used in determining
  435.                     the files and directories to be displayed.  The
  436.                     default value is determined by the
  437.                     XXXXmmmmNNNNqqqquuuuaaaalllliiiiffffyyyySSSSeeeeaaaarrrrcccchhhhDDDDaaaattttaaaaPPPPrrrrooooccccand depends on the initial
  438.                     values of XXXXmmmmNNNNddddiiiirrrrMMMMaaaasssskkkk, XXXXmmmmNNNNddddiiiirrrreeeeccccttttoooorrrryyyy, and
  439.                     XXXXmmmmNNNNppppaaaatttttttteeeerrrrnnnn.
  440.  
  441.           XXXXmmmmNNNNddddiiiirrrrSSSSeeeeaaaarrrrcccchhhhPPPPrrrroooocccc
  442.                     Specifies a directory search procedure to replace
  443.                     the default directory search procedure.
  444.                     FileSelectionBox's default directory search
  445.                     procedure fulfills the needs of most applications.
  446.                     Because it is impossible to cover the requirements
  447.                     of all applications, you can replace the default
  448.                     search procedure.
  449.  
  450.                     The directory search procedure is called with two
  451.                     arguments:  the FileSelectionBox widget and a
  452.                     pointer to an XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxxCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt
  453.                     structure.  The callback structure is generated by
  454.                     the XXXXmmmmNNNNqqqquuuuaaaalllliiiiffffyyyySSSSeeeeaaaarrrrcccchhhhDDDDaaaattttaaaaPPPPrrrroooocccc and contains all
  455.                     information required to conduct a directory
  456.  
  457.  
  458.  
  459.      Page 7                                         (printed 10/24/98)
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.      XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX))))    UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV    XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX))))
  467.  
  468.  
  469.  
  470.                     search, including the directory mask and a
  471.                     qualified base directory and search pattern.  Once
  472.                     called, it is up to the search routine to generate
  473.                     a new list of directories and update the
  474.                     FileSelectionBox widget by using XXXXttttSSSSeeeettttVVVVaaaalllluuuueeeessss.
  475.  
  476.                     The search procedure must set XXXXmmmmNNNNddddiiiirrrreeeeccccttttoooorrrryyyyVVVVaaaalllliiiidddd
  477.                     and XXXXmmmmNNNNlllliiiissssttttUUUUppppddddaaaatttteeeedddd.  If it generates a new list of
  478.                     directories, it must also set XXXXmmmmNNNNddddiiiirrrrLLLLiiiissssttttIIIItttteeeemmmmssss and
  479.                     XXXXmmmmNNNNddddiiiirrrrLLLLiiiissssttttIIIItttteeeemmmmCCCCoooouuuunnnntttt.
  480.  
  481.                     If the search procedure cannot search the
  482.                     specified directory, it must warn the user and set
  483.                     XXXXmmmmNNNNddddiiiirrrreeeeccccttttoooorrrryyyyVVVVaaaalllliiiidddd and XXXXmmmmNNNNlllliiiissssttttUUUUppppddddaaaatttteeeeddddto False,
  484.                     unless it prompts and subsequently obtains a valid
  485.                     directory.  If the directory is valid but is the
  486.                     same as the current XXXXmmmmNNNNddddiiiirrrreeeeccccttttoooorrrryyyy, the search
  487.                     procedure must set XXXXmmmmNNNNddddiiiirrrreeeeccccttttoooorrrryyyyVVVVaaaalllliiiidddd to True, but
  488.                     it may elect not to generate a new list of
  489.                     directories.  In this case, it must set
  490.                     XXXXmmmmNNNNlllliiiissssttttUUUUppppddddaaaatttteeeedddd to False.
  491.  
  492.                     If the search procedure generates a new list of
  493.                     directories, it must set XXXXmmmmNNNNddddiiiirrrrLLLLiiiissssttttIIIItttteeeemmmmssss to the
  494.                     new list of directories and XXXXmmmmNNNNddddiiiirrrrLLLLiiiissssttttIIIItttteeeemmmmCCCCoooouuuunnnntttt to
  495.                     the number of items in the list.  If there are no
  496.                     directories, it sets XXXXmmmmNNNNddddiiiirrrrLLLLiiiissssttttIIIItttteeeemmmmssss to NULL and
  497.                     XXXXmmmmNNNNddddiiiirrrrLLLLiiiissssttttIIIItttteeeemmmmCCCCoooouuuunnnntttt to 0 (zero).  In either case,
  498.                     it must set XXXXmmmmNNNNddddiiiirrrreeeeccccttttoooorrrryyyyVVVVaaaalllliiiidddd and XXXXmmmmNNNNlllliiiissssttttUUUUppppddddaaaatttteeeedddd
  499.                     to True.
  500.  
  501.                     The search procedure ordinarily should not change
  502.                     the callback structure.  But if the original
  503.                     directory is not valid, the search procedure may
  504.                     obtain a new directory from the user.  In this
  505.                     case, it should set the _d_i_r member of the callback
  506.                     structure to the new directory, call the
  507.                     XXXXmmmmNNNNqqqquuuuaaaalllliiiiffffyyyySSSSeeeeaaaarrrrcccchhhhDDDDaaaattttaaaaPPPPrrrroooocccc with the callback struct
  508.                     as the input argument, and copy the qualified data
  509.                     returned by the XXXXmmmmNNNNqqqquuuuaaaalllliiiiffffyyyySSSSeeeeaaaarrrrcccchhhhDDDDaaaattttaaaaPPPPrrrroooocccc into the
  510.                     callback struct.
  511.  
  512.           XXXXmmmmNNNNddddiiiirrrrSSSSppppeeeecccc
  513.                     Specifies the full file path specification.  This
  514.                     is the XXXXmmmmNNNNtttteeeexxxxttttSSSSttttrrrriiiinnnngggg resource in SelectionBox,
  515.                     renamed for FileSelectionBox.  The default value
  516.                     is determined by the FileSelectionBox after
  517.                     conducting the initial directory and file search.
  518.  
  519.           XXXXmmmmNNNNddddiiiirrrrTTTTeeeexxxxttttLLLLaaaabbbbeeeellllSSSSttttrrrriiiinnnngggg
  520.                     Uses the specified XXXXmmmmSSSSttttrrrriiiinnnngggg as the label above the
  521.                     TextField directory. The resource takes effect
  522.  
  523.  
  524.  
  525.      Page 8                                         (printed 10/24/98)
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.      XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX))))    UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV    XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX))))
  533.  
  534.  
  535.  
  536.                     when the XXXXmmmmNNNNppppaaaatttthhhhMMMMooooddddeeeeresource has a value of
  537.                     XXXXmmmmPPPPAAAATTTTHHHH____MMMMOOOODDDDEEEE____RRRREEEELLLLAAAATTTTIIIIVVVVEEEE. It is ignored when the
  538.                     XXXXmmmmNNNNppppaaaatttthhhhMMMMooooddddeeee resource has a value of
  539.                     XXXXmmmmPPPPAAAATTTTHHHH____MMMMOOOODDDDEEEE____FFFFUUUULLLLLLLL.
  540.  
  541.                     Now that some default localized label strings are
  542.                     provided through message catalogs for the children
  543.                     of composite widgets, the llllaaaabbbbeeeellllSSSSttttrrrriiiinnnngggg resources
  544.                     cannot be set on the child through default
  545.                     resource files.  Instead, the resource provided at
  546.                     the parent level must be used.
  547.  
  548.           XXXXmmmmNNNNffffiiiilllleeeeFFFFiiiilllltttteeeerrrrSSSSttttyyyylllleeee
  549.                     Specifies whether or not the "hidden" files (those
  550.                     whose names begin with . (period) in POSIX
  551.                     systems) will be listed in the file and directory
  552.                     scrolling lists (where the default directory
  553.                     search procedure is used).  The possible values
  554.                     are:
  555.  
  556.                     XXXXmmmmFFFFIIIILLLLTTTTEEEERRRR____NNNNOOOONNNNEEEE
  557.                               Does not filter hidden files.
  558.  
  559.                     XXXXmmmmFFFFIIIILLLLTTTTEEEERRRR____HHHHIIIIDDDDDDDDEEEENNNN____FFFFIIIILLLLEEEESSSS
  560.                               Restricts the list of possible file
  561.                               names, such as those beginning with .
  562.                               (period).
  563.  
  564.           XXXXmmmmNNNNffffiiiilllleeeeLLLLiiiissssttttIIIItttteeeemmmmssss
  565.                     Specifies the items in the file list.  This is the
  566.                     XXXXmmmmNNNNlllliiiissssttttIIIItttteeeemmmmssss resource in SelectionBox, renamed for
  567.                     FileSelectionBox.  XXXXttttGGGGeeeettttVVVVaaaalllluuuueeeessss for this resource
  568.                     returns the list items themselves, not a copy of
  569.                     the list items.  The application must not free the
  570.                     returned items.
  571.  
  572.           XXXXmmmmNNNNffffiiiilllleeeeLLLLiiiissssttttIIIItttteeeemmmmCCCCoooouuuunnnntttt
  573.                     Specifies the number of items in the file list.
  574.                     This is the XXXXmmmmNNNNlllliiiissssttttIIIItttteeeemmmmCCCCoooouuuunnnntttt resource in
  575.                     SelectionBox, renamed for FileSelectionBox.  The
  576.                     value must not be negative.
  577.  
  578.           XXXXmmmmNNNNffffiiiilllleeeeLLLLiiiissssttttLLLLaaaabbbbeeeellllSSSSttttrrrriiiinnnngggg
  579.                     Specifies the label string of the file list.  This
  580.                     is the XXXXmmmmNNNNlllliiiissssttttLLLLaaaabbbbeeeellllSSSSttttrrrriiiinnnngggg resource in
  581.                     SelectionBox, renamed for FileSelectionBox.  The
  582.                     default for this resource depends on the locale.
  583.                     In the C locale the default is FFFFiiiilllleeeessss.
  584.  
  585.                     Now that some default localized label strings are
  586.                     provided through message catalogs for the children
  587.                     of composite widgets, the llllaaaabbbbeeeellllSSSSttttrrrriiiinnnngggg resources
  588.  
  589.  
  590.  
  591.      Page 9                                         (printed 10/24/98)
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.      XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX))))    UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV    XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX))))
  599.  
  600.  
  601.  
  602.                     cannot be set on the child through default
  603.                     resource files.  Instead, the resource provided at
  604.                     the parent level must be used.
  605.  
  606.           XXXXmmmmNNNNffffiiiilllleeeeSSSSeeeeaaaarrrrcccchhhhPPPPrrrroooocccc
  607.                     Specifies a file search procedure to replace the
  608.                     default file search procedure.  FileSelectionBox's
  609.                     default file search procedure fulfills the needs
  610.                     of most applications.  Because it is impossible to
  611.                     cover the requirements of all applications, you
  612.                     can replace the default search procedure.
  613.  
  614.                     The file search procedure is called with two
  615.                     arguments:  the FileSelectionBox widget and a
  616.                     pointer to an XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxxCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt
  617.                     structure.  The callback structure is generated by
  618.                     the XXXXmmmmNNNNqqqquuuuaaaalllliiiiffffyyyySSSSeeeeaaaarrrrcccchhhhDDDDaaaattttaaaaPPPPrrrroooocccc (and possibly
  619.                     modified by the XXXXmmmmNNNNddddiiiirrrrSSSSeeeeaaaarrrrcccchhhhPPPPrrrroooocccc).  It contains
  620.                     all information required to conduct a file search,
  621.                     including the directory mask and a qualified base
  622.                     directory and search pattern.  Once this procedure
  623.                     is called, it is up to the search routine to
  624.                     generate a new list of files and update the
  625.                     FileSelectionBox widget by using XXXXttttSSSSeeeettttVVVVaaaalllluuuueeeessss.
  626.  
  627.                     The search procedure must set XXXXmmmmNNNNlllliiiissssttttUUUUppppddddaaaatttteeeedddd.  If
  628.                     it generates a new list of files, it must also set
  629.                     XXXXmmmmNNNNffffiiiilllleeeeLLLLiiiissssttttIIIItttteeeemmmmssss and XXXXmmmmNNNNffffiiiilllleeeeLLLLiiiissssttttIIIItttteeeemmmmCCCCoooouuuunnnntttt.
  630.  
  631.                     It is recommended that the search procedure always
  632.                     generate a new list of files.  If the _m_a_s_k member
  633.                     of the callback structure is the same as the _m_a_s_k
  634.                     member of the callback struct in the preceding
  635.                     call to the search procedure, the procedure may
  636.                     elect not to generate a new list of files.  In
  637.                     this case it must set XXXXmmmmNNNNlllliiiissssttttUUUUppppddddaaaatttteeeedddd to False.
  638.  
  639.                     If the search procedure generates a new list of
  640.                     files, it must set XXXXmmmmNNNNffffiiiilllleeeeLLLLiiiissssttttIIIItttteeeemmmmssss to the new
  641.                     list of files and XXXXmmmmNNNNffffiiiilllleeeeLLLLiiiissssttttIIIItttteeeemmmmCCCCoooouuuunnnntttt to the
  642.                     number of items in the list.  If there are no
  643.                     files, it sets XXXXmmmmNNNNffffiiiilllleeeeLLLLiiiissssttttIIIItttteeeemmmmssss to NULL and
  644.                     XXXXmmmmNNNNffffiiiilllleeeeLLLLiiiissssttttIIIItttteeeemmmmCCCCoooouuuunnnntttt to 0 (zero).  In either case
  645.                     it must set XXXXmmmmNNNNlllliiiissssttttUUUUppppddddaaaatttteeeedddd to True.
  646.  
  647.                     In constructing the list of files, the search
  648.                     procedure should include only files of the types
  649.                     specified by the widget's XXXXmmmmNNNNffffiiiilllleeeeTTTTyyyyppppeeeeMMMMaaaasssskkkk.
  650.  
  651.                     Setting XXXXmmmmNNNNddddiiiirrrrSSSSppppeeeecccc is optional, but recommended.
  652.                     Set this attribute to the full file specification
  653.                     of the directory searched.  The directory
  654.  
  655.  
  656.  
  657.      Page 10                                        (printed 10/24/98)
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.      XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX))))    UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV    XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX))))
  665.  
  666.  
  667.  
  668.                     specification is displayed below the directory and
  669.                     file lists.
  670.  
  671.           XXXXmmmmNNNNffffiiiilllleeeeTTTTyyyyppppeeeeMMMMaaaasssskkkk
  672.                     Specifies the type of files listed in the file
  673.                     list.  The possible values are
  674.  
  675.                     XXXXmmmmFFFFIIIILLLLEEEE____RRRREEEEGGGGUUUULLLLAAAARRRR
  676.                               Restricts the file list to contain only
  677.                               regular files.
  678.  
  679.                     XXXXmmmmFFFFIIIILLLLEEEE____DDDDIIIIRRRREEEECCCCTTTTOOOORRRRYYYY
  680.                               Restricts the file list to contain only
  681.                               directories.
  682.  
  683.                     XXXXmmmmFFFFIIIILLLLEEEE____AAAANNNNYYYY____TTTTYYYYPPPPEEEE
  684.                               Allows the list to contain all file
  685.                               types including directories.
  686.  
  687.           XXXXmmmmNNNNffffiiiilllltttteeeerrrrLLLLaaaabbbbeeeellllSSSSttttrrrriiiinnnngggg
  688.                     Specifies the label string for the text entry
  689.                     field for the directory mask.  The default for
  690.                     this resource depends on the locale.  In the C
  691.                     locale the default is FFFFiiiilllltttteeeerrrr.
  692.  
  693.                     Now that some default localized label strings are
  694.                     provided through message catalogs for the children
  695.                     of composite widgets, the llllaaaabbbbeeeellllSSSSttttrrrriiiinnnngggg resources
  696.                     cannot be set on the child through default
  697.                     resource files.  Instead, the resource provided at
  698.                     the parent level must be used.
  699.  
  700.           XXXXmmmmNNNNlllliiiissssttttUUUUppppddddaaaatttteeeedddd
  701.                     Specifies an attribute that is set only by the
  702.                     directory and file search procedures.  This
  703.                     resource is set to True if the search procedure
  704.                     updated the directory or file list.
  705.  
  706.           XXXXmmmmNNNNnnnnooooMMMMaaaattttcccchhhhSSSSttttrrrriiiinnnngggg
  707.                     Specifies a string to be displayed in the file
  708.                     list if the list of files is empty.
  709.  
  710.           XXXXmmmmNNNNppppaaaatttttttteeeerrrrnnnn
  711.                     Specifies the search pattern used in combination
  712.                     with XXXXmmmmNNNNddddiiiirrrreeeeccccttttoooorrrryyyyin determining the files and
  713.                     directories to be displayed.  The default value is
  714.                     determined by XXXXmmmmNNNNqqqquuuuaaaalllliiiiffffyyyySSSSeeeeaaaarrrrcccchhhhDDDDaaaattttaaaaPPPPrrrrooooccccand depends
  715.                     on the initial values of XXXXmmmmNNNNddddiiiirrrrMMMMaaaasssskkkk, XXXXmmmmNNNNddddiiiirrrreeeeccccttttoooorrrryyyy,
  716.                     and XXXXmmmmNNNNppppaaaatttttttteeeerrrrnnnn.  If the default is NULL or empty,
  717.                     a pattern that matches all files is used.
  718.  
  719.           XXXXmmmmNNNNppppaaaatttthhhhMMMMooooddddeeee
  720.  
  721.  
  722.  
  723.      Page 11                                        (printed 10/24/98)
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.      XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX))))    UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV    XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX))))
  731.  
  732.  
  733.  
  734.                     Specifies whether or not an additional text field
  735.                     will be used to display and edit the filter. The
  736.                     possible values are
  737.  
  738.                     XXXXmmmmPPPPAAAATTTTHHHH____MMMMOOOODDDDEEEE____FFFFUUUULLLLLLLL
  739.                               Specifies that no additional text field
  740.                               will be used to display the filter.
  741.                               There will just be a single text field
  742.                               to display XXXXmmmmNNNNddddiiiirrrrMMMMaaaasssskkkk.
  743.  
  744.                     XXXXmmmmPPPPAAAATTTTHHHH____MMMMOOOODDDDEEEE____RRRREEEELLLLAAAATTTTIIIIVVVVEEEE
  745.                               Specifies that there will be two text
  746.                               field displays, one to display the
  747.                               XXXXmmmmNNNNddddiiiirrrreeeeccccttttoooorrrryyyy and one to display the
  748.                               XXXXmmmmNNNNppppaaaatttttttteeeerrrrnnnn. In this instance, the
  749.                               XXXXmmmmNNNNffffiiiilllltttteeeerrrrLLLLaaaabbbbeeeellllSSSSttttrrrriiiinnnngggg resource applies to
  750.                               the text field for XXXXmmmmNNNNppppaaaatttttttteeeerrrrnnnn and
  751.                               XXXXmmmmNNNNddddiiiirrrrTTTTeeeexxxxttttLLLLaaaabbbbeeeellllSSSSttttrrrriiiinnnngggg applies to the
  752.                               text field for XXXXmmmmNNNNddddiiiirrrreeeeccccttttoooorrrryyyy.
  753.  
  754.           XXXXmmmmNNNNqqqquuuuaaaalllliiiiffffyyyySSSSeeeeaaaarrrrcccchhhhDDDDaaaattttaaaaPPPPrrrroooocccc
  755.                     Specifies a search data qualification procedure to
  756.                     replace the default data qualification procedure.
  757.                     FileSelectionBox's default data qualification
  758.                     procedure fulfills the needs of most applications.
  759.                     Because it is impossible to cover the requirements
  760.                     of all applications, you can replace the default
  761.                     procedure.
  762.  
  763.                     The data qualification procedure is called to
  764.                     generate a qualified directory mask, base
  765.                     directory, and search pattern for use by the
  766.                     directory and file search procedures.  It is
  767.                     called with three arguments:  the FileSelectionBox
  768.                     widget and pointers to two
  769.                     XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxxCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt structures.  The
  770.                     first callback structure contains the input data.
  771.                     The second callback structure contains the output
  772.                     data, to be filled in by the data qualification
  773.                     procedure.
  774.  
  775.                     If the input _d_i_r and _p_a_t_t_e_r_n members are not NULL,
  776.                     the procedure must copy them to the corresponding
  777.                     members of the output callback structure.
  778.  
  779.                     If the input _d_i_r is NULL, the procedure constructs
  780.                     the output _d_i_r as follows:  If the input _m_a_s_k
  781.                     member is NULL, the procedure uses the widget's
  782.                     XXXXmmmmNNNNddddiiiirrrreeeeccccttttoooorrrryyyy as the output _d_i_r; otherwise, it
  783.                     extracts the output _d_i_r from the input _m_a_s_k.  If
  784.                     the resulting output _d_i_r is empty, the procedure
  785.                     uses the current working directory instead.
  786.  
  787.  
  788.  
  789.      Page 12                                        (printed 10/24/98)
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796.      XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX))))    UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV    XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX))))
  797.  
  798.  
  799.  
  800.                     If the input _p_a_t_t_e_r_n is NULL, the procedure
  801.                     constructs the output _p_a_t_t_e_r_n as follows:  If the
  802.                     input _m_a_s_k member is NULL, the procedure uses the
  803.                     widget's XXXXmmmmNNNNppppaaaatttttttteeeerrrrnnnn as the output _p_a_t_t_e_r_n;
  804.                     otherwise, it extracts the output _p_a_t_t_e_r_n from the
  805.                     input _m_a_s_k.  If the resulting output _p_a_t_t_e_r_n is
  806.                     empty, the procedure uses a pattern that matches
  807.                     all files instead.
  808.  
  809.                     The data qualification procedure constructs the
  810.                     output _m_a_s_k from the output _d_i_r and _p_a_t_t_e_r_n.  The
  811.                     procedure must ensure that the output _d_i_r,
  812.                     _p_a_t_t_e_r_n, and _m_a_s_k are fully qualified.
  813.  
  814.                     If the input _v_a_l_u_e member is not NULL, the
  815.                     procedure must copy it to the output _v_a_l_u_e member;
  816.                     otherwise, the procedure must copy the widget's
  817.                     XXXXmmmmNNNNddddiiiirrrrSSSSppppeeeecccc to the output _v_a_l_u_e.
  818.  
  819.                     The data qualification procedure must calculate
  820.                     the lengths of the output _v_a_l_u_e, _m_a_s_k, _d_i_r, and
  821.                     _p_a_t_t_e_r_n members and must fill in the corresponding
  822.                     length members of the output callback struct.
  823.  
  824.                     The data qualification procedure must copy the
  825.                     input _r_e_a_s_o_n and _e_v_e_n_t members to the
  826.                     corresponding output members.
  827.  
  828.           The values of the XXXXmmmmNNNNddddiiiirrrrSSSSeeeeaaaarrrrcccchhhhPPPPrrrroooocccc and XXXXmmmmNNNNffffiiiilllleeeeSSSSeeeeaaaarrrrcccchhhhPPPPrrrrooooccccare
  829.           procedure pointers of type XXXXmmmmSSSSeeeeaaaarrrrcccchhhhPPPPrrrroooocccc, defined as follows:
  830.  
  831.           void (* XmSearchProc) (_w, _s_e_a_r_c_h__d_a_t_a)
  832.                   Widget _w;
  833.                   XtPointer _s_e_a_r_c_h__d_a_t_a;
  834.  
  835.           _w         The FileSelectionBox widget
  836.  
  837.           _s_e_a_r_c_h__d_a_t_a
  838.                     Pointer to an XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxxCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt
  839.                     containing information for conducting a search
  840.  
  841.           The value of the XXXXmmmmNNNNqqqquuuuaaaalllliiiiffffyyyySSSSeeeeaaaarrrrcccchhhhDDDDaaaattttaaaaPPPPrrrroooocccc resource is a
  842.           procedure pointer of type XXXXmmmmQQQQuuuuaaaalllliiiiffffyyyyPPPPrrrroooocccc, defined as follows:
  843.  
  844.           void (* XmQualifyProc) (_w, _i_n_p_u_t__d_a_t_a, _o_u_t_p_u_t__d_a_t_a)
  845.                   Widget _w;
  846.                   XtPointer _i_n_p_u_t__d_a_t_a;
  847.                   XtPointer _o_u_t_p_u_t__d_a_t_a;
  848.  
  849.           _w         The FileSelectionBox widget
  850.  
  851.           _i_n_p_u_t__d_a_t_a
  852.  
  853.  
  854.  
  855.      Page 13                                        (printed 10/24/98)
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.      XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX))))    UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV    XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX))))
  863.  
  864.  
  865.  
  866.                     Pointer to an XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxxCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt
  867.                     containing input data to be qualified
  868.  
  869.           _o_u_t_p_u_t__d_a_t_a
  870.                     Pointer to an XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxxCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt
  871.                     containing output data to be filled in by the
  872.                     qualification procedure
  873.  
  874.         IIIInnnnhhhheeeerrrriiiitttteeeedddd RRRReeeessssoooouuuurrrrcccceeeessss
  875.           FileSelectionBox inherits behavior and resources from the
  876.           superclasses described in the following tables.  For a
  877.           complete description of each resource, refer to the
  878.           reference page for that superclass.
  879.  
  880.                                                XXXXmmmmSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  881.           NNNNaaaammmmeeee                      CCCCllllaaaassssssss                     TTTTyyyyppppeeee             DDDDeeeeffffaaaauuuulllltttt                   AAAAcccccccceeeessssssss
  882.           XmNapplyCallback          XmCCallback               XtCallbackList   NULL                      C
  883.           XmNapplyLabelString       XmCApplyLabelString       XmString         dynamic                   CSG
  884.           XmNcancelCallback         XmCCallback               XtCallbackList   NULL                      C
  885.           XmNcancelLabelString      XmCCancelLabelString      XmString         dynamic                   CSG
  886.           XmNchildPlacement         XmCChildPlacement         unsigned char    XmPLACE_ABOVE_SELECTION   CSG
  887.           XmNdialogType             XmCDialogType             unsigned char    XmDIALOG_FILE_SELECTION   G
  888.           XmNhelpLabelString        XmCHelpLabelString        XmString         dynamic                   CSG
  889.           XmNlistItemCount          XmCItemCount              int              dynamic                   CSG
  890.           XmNlistItems              XmCItems                  XmStringTable    dynamic                   CSG
  891.           XmNlistLabelString        XmCListLabelString        XmString         dynamic                   CSG
  892.           XmNlistVisibleItemCount   XmCVisibleItemCount       int              dynamic                   CSG
  893.           XmNminimizeButtons        XmCMinimizeButtons        Boolean          False                     CSG
  894.           XmNmustMatch              XmCMustMatch              Boolean          False                     CSG
  895.           XmNnoMatchCallback        XmCCallback               XtCallbackList   NULL                      C
  896.           XmNokCallback             XmCCallback               XtCallbackList   NULL                      C
  897.           XmNokLabelString          XmCOkLabelString          XmString         dynamic                   CSG
  898.           XmNselectionLabelString   XmCSelectionLabelString   XmString         dynamic                   CSG
  899.           XmNtextAccelerators       XmCTextAccelerators       XtAccelerators   default                   C
  900.           XmNtextColumns            XmCColumns                short            dynamic                   CSG
  901.           XmNtextString             XmCTextString             XmString         dynamic                   CSG
  902.  
  903.                                       XXXXmmmmBBBBuuuulllllllleeeettttiiiinnnnBBBBooooaaaarrrrdddd RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  904.           NNNNaaaammmmeeee                   CCCCllllaaaassssssss                  TTTTyyyyppppeeee             DDDDeeeeffffaaaauuuulllltttt         AAAAcccccccceeeessssssss
  905.           XmNallowOverlap        XmCAllowOverlap        Boolean          True            CSG
  906.           XmNautoUnmanage        XmCAutoUnmanage        Boolean          False           CG
  907.           XmNbuttonFontList      XmCButtonFontList      XmFontList       dynamic         CSG
  908.           XmNbuttonRenderTable   XmCButtonRenderTable   XmRenderTable    dynamic         CSG
  909.           XmNcancelButton        XmCWidget              Widget           Cancel button   SG
  910.           XmNdefaultButton       XmCWidget              Widget           OK button       SG
  911.           XmNdefaultPosition     XmCDefaultPosition     Boolean          True            CSG
  912.           XmNdialogStyle         XmCDialogStyle         unsigned char    dynamic         CSG
  913.           XmNdialogTitle         XmCDialogTitle         XmString         NULL            CSG
  914.           XmNfocusCallback       XmCCallback            XtCallbackList   NULL            C
  915.           XmNlabelFontList       XmCLabelFontList       XmFontList       dynamic         CSG
  916.  
  917.  
  918.  
  919.  
  920.  
  921.      Page 14                                        (printed 10/24/98)
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.      XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX))))    UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV    XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX))))
  929.  
  930.  
  931.  
  932.           XmNlabelRenderTable    XmCLabelRenderTable    XmRenderTable    dynamic         CSG
  933.           XmNmapCallback         XmCCallback            XtCallbackList   NULL            C
  934.           XmNmarginHeight        XmCMarginHeight        Dimension        10              CSG
  935.           XmNmarginWidth         XmCMarginWidth         Dimension        10              CSG
  936.           XmNnoResize            XmCNoResize            Boolean          False           CSG
  937.           XmNresizePolicy        XmCResizePolicy        unsigned char    XmRESIZE_ANY    CSG
  938.           XmNshadowType          XmCShadowType          unsigned char    XmSHADOW_OUT    CSG
  939.           XmNtextFontList        XmCTextFontList        XmFontList       dynamic         CSG
  940.           XmNtextRenderTable     XmCTextRenderTable     XmRenderTable    dynamic         CSG
  941.           XmNtextTranslations    XmCTranslations        XtTranslations   NULL            C
  942.           XmNunmapCallback       XmCCallback            XtCallbackList   NULL            C
  943.  
  944.                                                 XXXXmmmmMMMMaaaannnnaaaaggggeeeerrrr RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  945.           NNNNaaaammmmeeee                      CCCCllllaaaassssssss                   TTTTyyyyppppeeee                DDDDeeeeffffaaaauuuulllltttt                AAAAcccccccceeeessssssss
  946.           XmNbottomShadowColor      XmCBottomShadowColor    Pixel               dynamic                CSG
  947.           XmNbottomShadowPixmap     XmCBottomShadowPixmap   Pixmap              XmUNSPECIFIED_PIXMAP   CSG
  948.           XmNforeground             XmCForeground           Pixel               dynamic                CSG
  949.           XmNhelpCallback           XmCCallback             XtCallbackList      NULL                   C
  950.           XmNhighlightColor         XmCHighlightColor       Pixel               dynamic                CSG
  951.           XmNhighlightPixmap        XmCHighlightPixmap      Pixmap              dynamic                CSG
  952.           XmNinitialFocus           XmCInitialFocus         Widget              dynamic                CSG
  953.           XmNlayoutDirection        XmCLayoutDirection      XmDirection         dynamic                CG
  954.           XmNnavigationType         XmCNavigationType       XmNavigationType    XmTAB_GROUP            CSG
  955.           XmNpopupHandlerCallback   XmCCallback             XtCallbackList      NULL                   C
  956.           XmNshadowThickness        XmCShadowThickness      Dimension           dynamic                CSG
  957.           XmNstringDirection        XmCStringDirection      XmStringDirection   dynamic                CG
  958.           XmNtopShadowColor         XmCTopShadowColor       Pixel               dynamic                CSG
  959.           XmNtopShadowPixmap        XmCTopShadowPixmap      Pixmap              dynamic                CSG
  960.           XmNtraversalOn            XmCTraversalOn          Boolean             True                   CSG
  961.           XmNunitType               XmCUnitType             unsigned char       dynamic                CSG
  962.           XmNuserData               XmCUserData             XtPointer           NULL                   CSG
  963.  
  964.                                   CCCCoooommmmppppoooossssiiiitttteeee RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  965.           NNNNaaaammmmeeee                CCCCllllaaaassssssss               TTTTyyyyppppeeee          DDDDeeeeffffaaaauuuulllltttt   AAAAcccccccceeeessssssss
  966.           XmNchildren         XmCReadOnly         WidgetList    NULL      G
  967.           XmNinsertPosition   XmCInsertPosition   XtOrderProc   NULL      CSG
  968.           XmNnumChildren      XmCReadOnly         Cardinal      0         G
  969.  
  970.                                                         CCCCoooorrrreeee RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  971.           NNNNaaaammmmeeee                            CCCCllllaaaassssssss                           TTTTyyyyppppeeee             DDDDeeeeffffaaaauuuulllltttt                AAAAcccccccceeeessssssss
  972.           XmNaccelerators                 XmCAccelerators                 XtAccelerators   dynamic                N/A
  973.           XmNancestorSensitive            XmCSensitive                    Boolean          dynamic                G
  974.           XmNbackground                   XmCBackground                   Pixel            dynamic                CSG
  975.           XmNbackgroundPixmap             XmCPixmap                       Pixmap           XmUNSPECIFIED_PIXMAP   CSG
  976.           XmNborderColor                  XmCBorderColor                  Pixel            XtDefaultForeground    CSG
  977.           XmNborderPixmap                 XmCPixmap                       Pixmap           XmUNSPECIFIED_PIXMAP   CSG
  978.           XmNborderWidth                  XmCBorderWidth                  Dimension        0                      CSG
  979.           XmNcolormap                     XmCColormap                     Colormap         dynamic                CG
  980.           XmNdepth                        XmCDepth                        int              dynamic                CG
  981.           XmNdestroyCallback              XmCCallback                     XtCallbackList   NULL                   C
  982.  
  983.  
  984.  
  985.  
  986.  
  987.      Page 15                                        (printed 10/24/98)
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.      XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX))))    UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV    XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX))))
  995.  
  996.  
  997.  
  998.           XmNheight                       XmCHeight                       Dimension        dynamic                CSG
  999.           XmNinitialResourcesPersistent   XmCInitialResourcesPersistent   Boolean          True                   C
  1000.           XmNmappedWhenManaged            XmCMappedWhenManaged            Boolean          True                   CSG
  1001.           XmNscreen                       XmCScreen                       Screen *         dynamic                CG
  1002.           XmNsensitive                    XmCSensitive                    Boolean          True                   CSG
  1003.           XmNtranslations                 XmCTranslations                 XtTranslations   dynamic                CSG
  1004.           XmNwidth                        XmCWidth                        Dimension        dynamic                CSG
  1005.           XmNx                            XmCPosition                     Position         0                      CSG
  1006.           XmNy                            XmCPosition                     Position         0                      CSG
  1007.  
  1008.         CCCCaaaallllllllbbbbaaaacccckkkk IIIInnnnffffoooorrrrmmmmaaaattttiiiioooonnnn
  1009.           A pointer to the following structure is passed to each
  1010.           callback:
  1011.  
  1012.           typedef struct
  1013.           {
  1014.                   int _r_e_a_s_o_n;
  1015.                   XEvent * _e_v_e_n_t;
  1016.                   XmString _v_a_l_u_e;
  1017.                   int _l_e_n_g_t_h;
  1018.                   XmString _m_a_s_k;
  1019.                   int _m_a_s_k__l_e_n_g_t_h;
  1020.                   XmString _d_i_r;
  1021.                   int _d_i_r__l_e_n_g_t_h;
  1022.                   XmString _p_a_t_t_e_r_n;
  1023.                   int _p_a_t_t_e_r_n__l_e_n_g_t_h;
  1024.           } XmFileSelectionBoxCallbackStruct;
  1025.  
  1026.           _r_e_a_s_o_n    Indicates why the callback was invoked
  1027.  
  1028.           _e_v_e_n_t     Points to the _X_E_v_e_n_t that triggered the callback
  1029.  
  1030.           _v_a_l_u_e     Specifies the current value of XXXXmmmmNNNNddddiiiirrrrSSSSppppeeeecccc
  1031.  
  1032.           _l_e_n_g_t_h    Specifies the number of bytes in _v_a_l_u_eThis member
  1033.                     is obsolete and exists for compatibility with
  1034.                     earlier releases.
  1035.  
  1036.           _m_a_s_k      Specifies the current value of XXXXmmmmNNNNddddiiiirrrrMMMMaaaasssskkkk
  1037.  
  1038.           _m_a_s_k__l_e_n_g_t_h
  1039.                     Specifies the number of bytes in _m_a_s_kThis member
  1040.                     is obsolete and exists for compatibility with
  1041.                     earlier releases.
  1042.  
  1043.           _d_i_r       Specifies the current base directory
  1044.  
  1045.           _d_i_r__l_e_n_g_t_h
  1046.                     Specifies the number of bytes in _d_i_rThis member is
  1047.                     obsolete and exists for compatibility with earlier
  1048.                     releases.
  1049.  
  1050.  
  1051.  
  1052.  
  1053.      Page 16                                        (printed 10/24/98)
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.      XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX))))    UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV    XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX))))
  1061.  
  1062.  
  1063.  
  1064.           _p_a_t_t_e_r_n   Specifies the current search pattern
  1065.  
  1066.           _p_a_t_t_e_r_n__l_e_n_g_t_h
  1067.                     Specifies the number of bytes in _p_a_t_t_e_r_nThis
  1068.                     member is obsolete and exists for compatibility
  1069.                     with earlier releases.
  1070.  
  1071.         TTTTrrrraaaannnnssssllllaaaattttiiiioooonnnnssss
  1072.           XmFileSelectionBox inherits translations from
  1073.           XmSelectionBox.
  1074.  
  1075.         AAAAcccccccceeeelllleeeerrrraaaattttoooorrrrssss
  1076.           The XXXXmmmmNNNNtttteeeexxxxttttAAAAcccccccceeeelllleeeerrrraaaattttoooorrrrssss from XmSelectionBox are added to the
  1077.           selection and directory mask (filter) Text descendants of
  1078.           XmFileSelectionBox.
  1079.  
  1080.         AAAAccccttttiiiioooonnnn RRRRoooouuuuttttiiiinnnneeeessss
  1081.           The XmFileSelectionBox action routines are
  1082.  
  1083.           SelectionBoxUpOrDown(_P_r_e_v_i_o_u_s|_N_e_x_t|_F_i_r_s_t|_L_a_s_t):
  1084.                     If neither the selection text nor the directory
  1085.                     mask (filter) text has the focus, this action does
  1086.                     nothing.
  1087.  
  1088.                     If the selection text has the focus, the term _l_i_s_t
  1089.                     in the following description refers to the file
  1090.                     list, and the term _t_e_x_trefers to the selection
  1091.                     text.  If the directory mask text has the focus,
  1092.                     _l_i_s_t refers to the directory list, and _t_e_x_t refers
  1093.                     to the directory mask text.
  1094.  
  1095.                     When called with an argument of PPPPrrrreeeevvvviiiioooouuuussss, or 0
  1096.                     (zero) for compatibility, this action selects the
  1097.                     previous item in the list and replaces the text
  1098.                     with that item.
  1099.  
  1100.                     When called with an argument of NNNNeeeexxxxtttt, or 1 for
  1101.                     compatibility, this action selects the next item
  1102.                     in the list and replaces the text with that item.
  1103.  
  1104.                     When called with an argument of FFFFiiiirrrrsssstttt, or 2 for
  1105.                     compatibility, this action selects the first item
  1106.                     in the list and replaces the text with that item.
  1107.  
  1108.                     When called with an argument of LLLLaaaasssstttt, or 3 for
  1109.                     compatibility, this action selects the last item
  1110.                     in the list and replaces the text with that item.
  1111.  
  1112.           SelectionBoxRestore():
  1113.                     If neither the selection text nor the directory
  1114.                     mask (filter) text has the focus, this action does
  1115.                     nothing.
  1116.  
  1117.  
  1118.  
  1119.      Page 17                                        (printed 10/24/98)
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126.      XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX))))    UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV    XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX))))
  1127.  
  1128.  
  1129.  
  1130.                     If the selection text has the focus, this action
  1131.                     replaces the selection text with the selected item
  1132.                     in the file list.  If no item in the file list is
  1133.                     selected, it clears the selection text.
  1134.  
  1135.                     If the directory mask text has the focus, this
  1136.                     action replaces the directory mask text with a new
  1137.                     directory mask constructed from the
  1138.                     XXXXmmmmNNNNddddiiiirrrreeeeccccttttoooorrrryyyyand XXXXmmmmNNNNppppaaaatttttttteeeerrrrnnnn resources.
  1139.  
  1140.         AAAAddddddddiiiittttiiiioooonnnnaaaallll BBBBeeeehhhhaaaavvvviiiioooorrrr
  1141.           The FileSelectionBox widget has the following additional
  1142.           behavior:
  1143.  
  1144.           <<<<KKKKeeeeyyyy>>>><<<<oooossssffffCCCCaaaannnncccceeeellll>>>>:
  1145.                     Calls the activate callbacks for the cancel button
  1146.                     if it is sensitive.  If no cancel button exists
  1147.                     and the parent of the FileSelectionBox is a
  1148.                     manager, it passes the event to the parent.
  1149.  
  1150.           <<<<KKKKeeeeyyyy>>>><<<<oooossssffffAAAAccccttttiiiivvvvaaaatttteeee>>>> in Selection Text:
  1151.                     Calls the selection text widget's
  1152.                     XXXXmmmmNNNNaaaaccccttttiiiivvvvaaaatttteeeeCCCCaaaallllllllbbbbaaaacccckkkk callbacks.  If XXXXmmmmNNNNmmmmuuuussssttttMMMMaaaattttcccchhhh is
  1153.                     True and the selection text does not match an item
  1154.                     in the file list, it calls the
  1155.                     XXXXmmmmNNNNnnnnooooMMMMaaaattttcccchhhhCCCCaaaallllllllbbbbaaaacccckkkkcallbacks with reason
  1156.                     XXXXmmmmCCCCRRRR____NNNNOOOO____MMMMAAAATTTTCCCCHHHH.  Otherwise, it calls the
  1157.                     XXXXmmmmNNNNooookkkkCCCCaaaallllllllbbbbaaaacccckkkk callbacks with reason XXXXmmmmCCCCRRRR____OOOOKKKK.
  1158.  
  1159.           <<<<KKKKeeeeyyyy>>>><<<<oooossssffffAAAAccccttttiiiivvvvaaaatttteeee>>>> in Directory Mask Text:
  1160.                     Calls the directory mask text widget's
  1161.                     XXXXmmmmNNNNaaaaccccttttiiiivvvvaaaatttteeeeCCCCaaaallllllllbbbbaaaacccckkkkcallbacks, initiates a
  1162.                     directory and file search, and calls the
  1163.                     XXXXmmmmNNNNaaaappppppppllllyyyyCCCCaaaallllllllbbbbaaaacccckkkk callbacks with reason XXXXmmmmCCCCRRRR____AAAAPPPPPPPPLLLLYYYY.
  1164.  
  1165.           <<<<BBBBttttnnnn1111DDDDoooowwwwnnnn>>>>((((2222++++)))) or <<<<KKKKeeeeyyyy>>>><<<<oooossssffffAAAAccccttttiiiivvvvaaaatttteeee>>>> in Directory List:
  1166.                     Calls the directory list widget's
  1167.                     XXXXmmmmNNNNddddeeeeffffaaaauuuullllttttAAAAccccttttiiiioooonnnnCCCCaaaallllllllbbbbaaaacccckkkkcallbacks, initiates a
  1168.                     directory and file search, and calls the
  1169.                     XXXXmmmmNNNNaaaappppppppllllyyyyCCCCaaaallllllllbbbbaaaacccckkkk callbacks with reason XXXXmmmmCCCCRRRR____AAAAPPPPPPPPLLLLYYYY.
  1170.  
  1171.           <<<<BBBBttttnnnn1111DDDDoooowwwwnnnn>>>>((((2222++++)))) or <<<<KKKKeeeeyyyy>>>><<<<oooossssffffAAAAccccttttiiiivvvvaaaatttteeee>>>> in File List:
  1172.                     Calls the file list widget's
  1173.                     XXXXmmmmNNNNddddeeeeffffaaaauuuullllttttAAAAccccttttiiiioooonnnnCCCCaaaallllllllbbbbaaaacccckkkkcallbacks and calls the
  1174.                     XXXXmmmmNNNNooookkkkCCCCaaaallllllllbbbbaaaacccckkkk callbacks with reason XXXXmmmmCCCCRRRR____OOOOKKKK.
  1175.  
  1176.           <<<<KKKKeeeeyyyy>>>><<<<oooossssffffSSSSeeeelllleeeecccctttt>>>> in Directory List:
  1177.                     Generates a new directory mask, using the selected
  1178.                     list item as the directory and the pattern
  1179.                     extracted from the current directory mask text as
  1180.                     the search pattern.  If the search pattern is
  1181.                     empty, it uses a pattern that matches all files in
  1182.  
  1183.  
  1184.  
  1185.      Page 18                                        (printed 10/24/98)
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192.      XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX))))    UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV    XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX))))
  1193.  
  1194.  
  1195.  
  1196.                     the directory.  Replaces the directory mask text
  1197.                     with the new directory mask.
  1198.  
  1199.           <<<<KKKKeeeeyyyy>>>><<<<oooossssffffSSSSeeeelllleeeecccctttt>>>> in File List:
  1200.                     Replaces the selection text with the selected list
  1201.                     item.
  1202.  
  1203.           <<<<BBBBttttnnnn2222DDDDoooowwwwnnnn>>>> in File List:
  1204.                     Drags the content of one or more selected list
  1205.                     items using the drag and drop facility. If
  1206.                     <<<<BBBBttttnnnn2222DDDDoooowwwwnnnn is pressed on an unselected item, drags
  1207.                     only that item, excluding any other selected
  1208.                     items.
  1209.  
  1210.                     This action sets the XXXXmmmmNNNNccccoooonnnnvvvveeeerrrrttttPPPPrrrroooocccc of the
  1211.                     DragContext to a function that calls the
  1212.                     XXXXmmmmNNNNccccoooonnnnvvvveeeerrrrttttCCCCaaaallllllllbbbbaaaacccckkkk procedures of the file list,
  1213.                     possibly multiple times, for the ____MMMMOOOOTTTTIIIIFFFF____DDDDRRRROOOOPPPP
  1214.                     selection.
  1215.  
  1216.           <<<<BBBBttttnnnn2222DDDDoooowwwwnnnn>>>> in Directory List:
  1217.                     Drags the content of one or more selected list
  1218.                     items using the drag and drop facility. If
  1219.                     <<<<BBBBttttnnnn2222DDDDoooowwwwnnnn is pressed on an unselected item, it
  1220.                     drags only that item, excluding any other selected
  1221.                     items.
  1222.  
  1223.                     This action sets the XXXXmmmmNNNNccccoooonnnnvvvveeeerrrrttttPPPPrrrroooocccc of the
  1224.                     DragContext to a function that calls the
  1225.                     XXXXmmmmNNNNccccoooonnnnvvvveeeerrrrttttCCCCaaaallllllllbbbbaaaacccckkkk procedures of the directory
  1226.                     list, possibly multiple times, for the
  1227.                     ____MMMMOOOOTTTTIIIIFFFF____DDDDRRRROOOOPPPPselection.
  1228.  
  1229.           <<<<AAAAppppppppllllyyyy BBBBuuuuttttttttoooonnnn AAAAccccttttiiiivvvvaaaatttteeeedddd>>>>:
  1230.                     Initiates a directory and file search.  Calls the
  1231.                     XXXXmmmmNNNNaaaappppppppllllyyyyCCCCaaaallllllllbbbbaaaacccckkkk callbacks with reason XXXXmmmmCCCCRRRR____AAAAPPPPPPPPLLLLYYYY.
  1232.  
  1233.           <<<<OOOOKKKK BBBBuuuuttttttttoooonnnn AAAAccccttttiiiivvvvaaaatttteeeedddd>>>>:
  1234.                     If XXXXmmmmNNNNmmmmuuuussssttttMMMMaaaattttcccchhhh is True and the selection text
  1235.                     does not match an item in the file list, calls the
  1236.                     XXXXmmmmNNNNnnnnooooMMMMaaaattttcccchhhhCCCCaaaallllllllbbbbaaaacccckkkk callbacks with reason
  1237.                     XXXXmmmmCCCCRRRR____NNNNOOOO____MMMMAAAATTTTCCCCHHHH.  Otherwise, calls the XXXXmmmmNNNNooookkkkCCCCaaaallllllllbbbbaaaacccckkkk
  1238.                     callbacks with reason XXXXmmmmCCCCRRRR____OOOOKKKK.
  1239.  
  1240.           <<<<CCCCaaaannnncccceeeellll BBBBuuuuttttttttoooonnnn AAAAccccttttiiiivvvvaaaatttteeeedddd>>>>:
  1241.                     Calls the XXXXmmmmNNNNccccaaaannnncccceeeellllCCCCaaaallllllllbbbbaaaacccckkkk callbacks with reason
  1242.                     XXXXmmmmCCCCRRRR____CCCCAAAANNNNCCCCEEEELLLL.
  1243.  
  1244.           <<<<HHHHeeeellllpppp BBBBuuuuttttttttoooonnnn AAAAccccttttiiiivvvvaaaatttteeeedddd>>>>:
  1245.                     Calls the XXXXmmmmNNNNhhhheeeellllppppCCCCaaaallllllllbbbbaaaacccckkkk callbacks with reason
  1246.                     XXXXmmmmCCCCRRRR____HHHHEEEELLLLPPPP.
  1247.  
  1248.  
  1249.  
  1250.  
  1251.      Page 19                                        (printed 10/24/98)
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.      XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX))))    UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV    XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX))))
  1259.  
  1260.  
  1261.  
  1262.           <<<<KKKKeeeeyyyy>>>><<<<oooossssffffAAAAccccttttiiiivvvvaaaatttteeee>>>>:
  1263.                     If no button, list widget, or text widget has the
  1264.                     keyboard focus, if XXXXmmmmNNNNmmmmuuuussssttttMMMMaaaattttcccchhhh is True and the
  1265.                     selection text does not match an item in the file
  1266.                     list, it calls the XXXXmmmmNNNNnnnnooooMMMMaaaattttcccchhhhCCCCaaaallllllllbbbbaaaacccckkkk callbacks
  1267.                     with reason XXXXmmmmCCCCRRRR____NNNNOOOO____MMMMAAAATTTTCCCCHHHH.  Otherwise, it calls
  1268.                     the XXXXmmmmNNNNooookkkkCCCCaaaallllllllbbbbaaaacccckkkk callbacks with reason XXXXmmmmCCCCRRRR____OOOOKKKK.
  1269.  
  1270.         VVVViiiirrrrttttuuuuaaaallll BBBBiiiinnnnddddiiiinnnnggggssss
  1271.           The bindings for virtual keys are vendor specific.  For
  1272.           information about bindings for virtual buttons and keys, see
  1273.           VVVViiiirrrrttttuuuuaaaallllBBBBiiiinnnnddddiiiinnnnggggssss(3).
  1274.  
  1275.      RRRREEEELLLLAAAATTTTEEEEDDDD
  1276.           CCCCoooommmmppppoooossssiiiitttteeee(3), CCCCoooonnnnssssttttrrrraaaaiiiinnnntttt(3), CCCCoooorrrreeee(3), XXXXmmmmBBBBuuuulllllllleeeettttiiiinnnnBBBBooooaaaarrrrdddd(3),
  1277.           XXXXmmmmCCCCrrrreeeeaaaatttteeeeFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx(3), XXXXmmmmCCCCrrrreeeeaaaatttteeeeFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnDDDDiiiiaaaalllloooogggg(3),
  1278.           XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxxGGGGeeeettttCCCChhhhiiiilllldddd(3), XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnDDDDooooSSSSeeeeaaaarrrrcccchhhh(3),
  1279.           XXXXmmmmMMMMaaaannnnaaaaggggeeeerrrr(3), and XXXXmmmmSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx(3).
  1280.  
  1281.  
  1282.  
  1283.  
  1284.  
  1285.  
  1286.  
  1287.  
  1288.  
  1289.  
  1290.  
  1291.  
  1292.  
  1293.  
  1294.  
  1295.  
  1296.  
  1297.  
  1298.  
  1299.  
  1300.  
  1301.  
  1302.  
  1303.  
  1304.  
  1305.  
  1306.  
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.  
  1316.  
  1317.      Page 20                                        (printed 10/24/98)
  1318.  
  1319.  
  1320.  
  1321.